home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso / 1256 / tour020.co_ / tour020.co
Text File  |  1997-04-18  |  28KB  |  754 lines

  1.       *---Created with EasyCODE(COB)----------------------------------- # EASY O
  2.       *---Last modification: 01.03.1995 14:23:55----------------------- # EASY K
  3.       *This program is used for booking journeys.
  4.       *---------------------------------------------------------------- # EASY *
  5.       *---------------------------------------------------------------- # EASY (
  6.       *TOUR020
  7.       *---------------------------------------------------------------- # EASY *
  8.        IDENTIFICATION DIVISION.
  9.       *---------------------------------------------------------------- # EASY (
  10.       *** Identification Division ***
  11.       *---------------------------------------------------------------- # EASY *
  12.        PROGRAM-ID. TOUR020.
  13.       
  14.       *                                    *
  15.       *        THIS PROGRAM IS USED FOR BOOKING JOURNEYS.           *
  16.       *        ITS TACS : BOOK    (AT BOOKING-START),               *
  17.       *           GOONBOOK (FOR FURTHER BOOKINGS),           *
  18.       *           OFFBOOK (FOR BOOKING SELECTED OFFERS)        *
  19.       *                                    *
  20.       
  21.       
  22.       *---------------------------------------------------------------- # EASY )
  23.        ENVIRONMENT DIVISION.
  24.       *---------------------------------------------------------------- # EASY (
  25.       *** Environment Division ***
  26.       *---------------------------------------------------------------- # EASY *
  27.       *---------------------------------------------------------------- # EASY )
  28.        DATA DIVISION.
  29.       *---------------------------------------------------------------- # EASY (
  30.       *** Data Division ***
  31.       *---------------------------------------------------------------- # EASY *
  32.       *---------------------------------------------------------------- # EASY (
  33.       **** WORKING-STORAGE Section ***
  34.       *---------------------------------------------------------------- # EASY *
  35.        WORKING-STORAGE SECTION.
  36.        77 DUE-KEY          PIC X(3)  VALUE "000".
  37.        77 F1-KEY          PIC X(3)  VALUE "21Z".
  38.        77 K1-KEY          PIC X(3)  VALUE "24Z".
  39.        77 K2-KEY          PIC X(3)  VALUE "25Z".
  40.       
  41.        77 ERRORMESSAGE-1       PIC X(80) VALUE
  42.        "WRONG INPUT DATA - PLEASE RETRY".
  43.        77 ERRORMESSAGE-2       PIC X(80) VALUE
  44.        "JOURNEY-ID DOES NOT EXIST".
  45.        77 ERRORMESSAGE-3       PIC X(80) VALUE
  46.        "NOT ENOUGH SEATS AVAILABLE".
  47.        77 ERROR-MESSAGE-4        PIC X(80) VALUE
  48.        "ERROR WHILE WRITING TO JOURNEY FILE - JOURNEY NOT BOOKED".
  49.        77 ERRORMESSAGE-5       PIC X(80) VALUE
  50.        "ERROR WHILE WRITING TO BOOKING FILE - JOURNEY NOT BOOKED".
  51.        77 ERRORMESSAGE-6       PIC X(80) VALUE
  52.        "WRONG KEY - ONLY DUE, F1 OR K1 ALLOWED".
  53.        77 RESULTMESSAGE        PIC X(80) VALUE
  54.        "JOURNEY SUCCESSFULLY BOOKED".
  55.       
  56.        COPY KCOPC.
  57.        COPY KCDFC.
  58.       
  59.       *                                 # EASY S
  60.       *---------------------------------------------------------------- # EASY )
  61.       *---------------------------------------------------------------- # EASY (
  62.       **** LINKAGE Section ***
  63.       *---------------------------------------------------------------- # EASY *
  64.        LINKAGE SECTION.
  65.      COPY KCKBC.
  66.         05 MENU-MESSAGE  PIC X(80).
  67.       
  68.         05 NB          PIC X(204).
  69.         05 BOOK         REDEFINES NB.
  70.           COPY BOOK.
  71.       
  72.      COPY KCPAC.
  73.       
  74.         03 INTERNAL-MESSAGE.
  75.            COPY INTMESS.
  76.            41 FILLER      PIC X(100).
  77.       
  78.         03 ERROR-LINE.
  79.            05 RET-CODE PIC X(3).
  80.            05 OCCURRED-AT       PIC X(5).
  81.            05 OP-CODE  PIC X(4).
  82.       
  83.         03 JOURNEY.
  84.            COPY JOURNEY.
  85.       
  86.         03 BOOKING.
  87.            COPY BOOKING.
  88.       
  89.         03 EMPLOYEE.
  90.            COPY EMPLOYEE.
  91.       
  92.         03 SESSION.
  93.            COPY SESSION.
  94.       
  95.         03 CURRENT-BOOKING-ID PIC 9(8).
  96.       
  97.         03 PEND-MODE      PIC X(2).
  98.         03 NEXT-TAC      PIC X(8).
  99.         03 ERROR-SIGN      PIC 9.
  100.       
  101.       
  102.       *                                 # EASY S
  103.       *---------------------------------------------------------------- # EASY )
  104.       *---------------------------------------------------------------- # EASY )
  105.        PROCEDURE DIVISION USING KCKBC KCSPAB.
  106.       *---------------------------------------------------------------- # EASY (
  107.       *** Procedure Division ***
  108.       *---------------------------------------------------------------- # EASY *
  109.       *---------------------------------------------------------------- # EASY (
  110.       **** MAIN-PROGRAM Section ***
  111.       *---------------------------------------------------------------- # EASY *
  112.        MAIN-PROGRAM SECTION.
  113.       *---------------------------------------------------------------- # EASY (
  114.       **** MAIN ***
  115.       *---------------------------------------------------------------- # EASY *
  116.        MAIN.
  117.        PERFORM INIT-OPERATION
  118.        IF KCTACAL = "OFFBOOK"
  119.        THEN
  120.           PERFORM BOOK-SELECTED-OFFER
  121.        ELSE
  122.           IF KCTACAL = "GOONBOOK"
  123.           THEN
  124.          PERFORM GO-ON-BOOKING
  125.           ELSE
  126.          PERFORM START-BOOKING
  127.           END-IF
  128.        END-IF
  129.        PERFORM PEND-OPERATION
  130.        EXIT PROGRAM
  131.        .
  132.       *                                 # EASY P
  133.       *---------------------------------------------------------------- # EASY )
  134.       *                                 # EASY S
  135.       *---------------------------------------------------------------- # EASY )
  136.       *---------------------------------------------------------------- # EASY (
  137.       **** SUBROUTINE Section ***
  138.       *---------------------------------------------------------------- # EASY *
  139.        SUBROUTINE SECTION.
  140.       *---------------------------------------------------------------- # EASY (
  141.       **** START-BOOKING ***
  142.       *---------------------------------------------------------------- # EASY *
  143.        START-BOOKING.
  144.        PERFORM INITIALIZE-FORMAT
  145.        PERFORM PREPARE-OUTPUT
  146.        PERFORM MPUT-OPERATION
  147.        .
  148.       *                                 # EASY P
  149.       *---------------------------------------------------------------- # EASY )
  150.       *---------------------------------------------------------------- # EASY (
  151.       **** GO-ON-BOOKING ***
  152.       *---------------------------------------------------------------- # EASY *
  153.        GO-ON-BOOKING.
  154.        PERFORM BOOKING-MGET
  155.        IF KCRCCC = K1-KEY
  156.        THEN
  157.           PERFORM END-OF-BOOKING
  158.        ELSE
  159.           IF KCRCCC = DUE-KEY
  160.           THEN
  161.          PERFORM BOOKING
  162.           ELSE
  163.          IF KCRCCC = F1-TASTE
  164.          THEN
  165.             PERFORM PRESENT-OFFERS
  166.          ELSE
  167.             IF
  168.             KCRCCC NOT < F1-KEY AND
  169.             KCRCCC NOT > K2-KEY
  170.             THEN
  171.                PERFORM REJECT-WRONG-KEY
  172.             ELSE
  173.                PERFORM ERROR-MPUT-OPERATION,
  174.                PERFORM ERROR-PEND-OPERATION
  175.             END-IF
  176.          END-IF
  177.           END-IF
  178.        END-IF
  179.        .
  180.       *                                 # EASY P
  181.       *---------------------------------------------------------------- # EASY )
  182.       *---------------------------------------------------------------- # EASY (
  183.       **** BOOK-SELECTED-OFFER ***
  184.       *---------------------------------------------------------------- # EASY *
  185.        BOOK-SELECTED-OFFER.
  186.        PERFORM INTERNAL-MGET
  187.        IF KCRCCC = "000"
  188.        THEN
  189.           PERFORM PRESENT-JOURNEY
  190.        ELSE
  191.           PERFORM ERROR-MPUT-OPERATION,
  192.           PERFORM ERROR-PEND-OPERATION
  193.        END-IF
  194.        .
  195.       *                                 # EASY P
  196.       *---------------------------------------------------------------- # EASY )
  197.       *---------------------------------------------------------------- # EASY (
  198.       **** PRESENT-JOURNEY ***
  199.       *---------------------------------------------------------------- # EASY *
  200.        PRESENT-JOURNEY.
  201.        MOVE JOURNEY-ID OF INTERNAL-MESSAGE TO
  202.        JOURNEY-ID OF BOOK
  203.       *                                 # EASY -
  204.        MOVE WHERE-TO-GO OF INTERNAL-MESSAGE TO
  205.        WHERE-TO-GO OF BOOK
  206.       *                                 # EASY -
  207.        MOVE MESSAGE-TEXT OF INTERNAL-MESSAGE TO
  208.        MESSAGE-TEXT OF BOOK
  209.       *                                 # EASY -
  210.        MOVE SPACES TO CUSTOMERS-DATA OF BOOK
  211.       *                                 # EASY -
  212.        MOVE ZEROES TO SEATS-TO-BE-BOOKED OF BOOK,
  213.        MOVE "A-0000" TO PLZ OF BOOK
  214.        PERFORM PREPARE-OUTPUT
  215.        PERFORM MPUT-OPERATION
  216.        .
  217.       *                                 # EASY P
  218.       *---------------------------------------------------------------- # EASY )
  219.       *---------------------------------------------------------------- # EASY (
  220.       **** END-OF-BOOKING ***
  221.       *---------------------------------------------------------------- # EASY *
  222.        END-OF-BOOKING.
  223.        MOVE SPACES TO MENU-MESSAGE
  224.       *                                 # EASY -
  225.        MOVE "MENUOUT" TO NEXT-TAC
  226.       *                                 # EASY -
  227.        MOVE "PR" TO PEND-MODE
  228.        .
  229.       *                                 # EASY P
  230.       *---------------------------------------------------------------- # EASY )
  231.       *---------------------------------------------------------------- # EASY (
  232.       **** BOOKING ***
  233.       *---------------------------------------------------------------- # EASY *
  234.        BOOKING.
  235.        PERFORM CHECK-INPUT
  236.        IF ERROR-SIGN = 0
  237.        THEN
  238.           PERFORM RESERVE-SEATS,
  239.           IF ERROR-SIGN = 0
  240.           THEN
  241.          PERFORM GET-BOOKING-ID,
  242.          PERFORM DO-BOOKING,
  243.          IF ERROR-SIGN = 0
  244.          THEN
  245.             PERFORM UPDATE-STATISTICS,
  246.             PERFORM CHECK-IF-BOOKED-OUT
  247.          END-IF
  248.           END-IF
  249.        END-IF
  250.        PERFORM PREPARE-OUTPUT
  251.        PERFORM MPUT-OPERATION
  252.        .
  253.       *                                 # EASY P
  254.       *---------------------------------------------------------------- # EASY )
  255.       *---------------------------------------------------------------- # EASY (
  256.       **** REJECT-WRONG-KEY ***
  257.       *---------------------------------------------------------------- # EASY *
  258.        REJECT-WRONG-KEY.
  259.        PERFORM INITIALIZE-FORMAT
  260.        MOVE ERRORMESSAGE-6 TO MESSAGE-TEXT OF BOOK
  261.        PERFORM PREPARE-OUTPUT
  262.        PERFORM MPUT-OPERATION
  263.        .
  264.       *                                 # EASY P
  265.       *---------------------------------------------------------------- # EASY )
  266.       *---------------------------------------------------------------- # EASY (
  267.       **** PRESENT-OFFERS ***
  268.       *---------------------------------------------------------------- # EASY *
  269.        PRESENT-OFFERS.
  270.        MOVE "OFFER" TO KCRN, NEXT-TAC
  271.       *                                 # EASY -
  272.        MOVE "FC" TO PEND-MODE
  273.       *                                 # EASY -
  274.        MOVE 0 TO KCLM
  275.        PERFORM MPUT-OPERATION
  276.        .
  277.       *                                 # EASY P
  278.       *---------------------------------------------------------------- # EASY )
  279.       *---------------------------------------------------------------- # EASY (
  280.       **** CHECK-INPUT ***
  281.       *---------------------------------------------------------------- # EASY *
  282.        CHECK-INPUT.
  283.        IF
  284.        SEATS-TO-BE-BOOKED OF BOOK = ZERO OR
  285.        SURNAME OF BOOK = SPACES     OR
  286.        HOME-TOWN OF BOOK = SPACES
  287.        THEN
  288.           MOVE ERRORMESSAGE-1 TO NESSAGE-TEXT OF BOOK,
  289.           MOVE 1 TO ERROR-SIGN
  290.        ELSE
  291.           MOVE 0 TO ERROR-SIGN
  292.        END-IF
  293.        .
  294.       *                                 # EASY P
  295.       *---------------------------------------------------------------- # EASY )
  296.       *---------------------------------------------------------------- # EASY (
  297.       **** RESERVE-SEATS ***
  298.       *---------------------------------------------------------------- # EASY *
  299.        RESERVE-SEATS.
  300.        MOVE JOURNEY-ID OF BOOK TO JOURNEY-ID OF JOURNEY
  301.        CALL "RDJRNEY" USING JOURNEY, ERROR-SIGN
  302.        IF ERROR-SIGN NOT = 0
  303.        THEN
  304.           MOVE ERRORMESSAGE-2 TO MESSAGE-TEXT OF BOOK
  305.        ELSE
  306.           IF
  307.           BOOKED-SEATS OF JOURNEY +
  308.           SEATS-TO-BE-BOOKED OF BOOK >
  309.           FREE-SEATS OF JOURNEY
  310.           THEN
  311.          MOVE ERRORMESSAGE-3 TO MESSAGE-TEXT OF BOOK,
  312.          MOVE 1 TO ERROR-SIGN
  313.           ELSE
  314.          ADD SEATS-TO-BE-BOOKED OF BOOK TO
  315.          BOOKED-SEATS OF JOURNEY,
  316.          CALL "RWRJRNEY"
  317.          USING
  318.          JOURNEY, ERROR-SIGN,
  319.          IF ERROR-SIGN NOT = 0
  320.          THEN
  321.             MOVE ERRORMESSAGE-4 TO MESSAGE-TEXT OF BOOK
  322.          END-IF
  323.           END-IF
  324.        END-IF
  325.        .
  326.       *                                 # EASY P
  327.       *---------------------------------------------------------------- # EASY )
  328.       *---------------------------------------------------------------- # EASY (
  329.       **** GET-BOOKING-ID ***
  330.       *---------------------------------------------------------------- # EASY *
  331.        GET-BOOKING-ID.
  332.        PERFORM READ-BOOKING-ID
  333.        ADD 1 TO CURRENT-BOOKING-ID
  334.        PERFORM WRITE-BOOKING-ID
  335.        .
  336.       *                                 # EASY P
  337.       *---------------------------------------------------------------- # EASY )
  338.       *---------------------------------------------------------------- # EASY (
  339.       **** DO-BOOKING ***
  340.       *---------------------------------------------------------------- # EASY *
  341.        DO-BOOKING.
  342.        MOVE JOURNEY-ID OF BOOK TO JOURNEY-ID OF BOOKING
  343.       *                                 # EASY -
  344.        MOVE CURRENT-BOOKING-ID TO BOOKING-ID OF BOOKING
  345.       *                                 # EASY -
  346.        MOVE CUSTOMERS-DATA OF BOOK TO CUSTOMERS-DATA OF BOOKING
  347.       *                                 # EASY -
  348.        MOVE SEATS-TO-BE-BOOKED OF BOOK TO
  349.        SEATS-TO-BE-BOOKED OF BOOKING
  350.        CALL "WRBOOKNG" USING BOOKING, ERROR-SIGN
  351.        IF ERROR-SIGN NOT = 0
  352.        THEN
  353.           MOVE ERRORMESSAGE-5 TO MESSAGE-TEXT OF BOOK
  354.        ELSE
  355.           MOVE RESULTMESSAGE TO MESSAGE-TEXT OF BOOK
  356.        END-IF
  357.        .
  358.       *                                 # EASY P
  359.       *---------------------------------------------------------------- # EASY )
  360.       *---------------------------------------------------------------- # EASY (
  361.       **** UPDATE-STATISTICS ***
  362.       *---------------------------------------------------------------- # EASY *
  363.        UPDATE-STATISTICS.
  364.        PERFORM READ-SESSION
  365.        ADD 1 TO BOOKINGS OF SESSION
  366.       *                                 # EASY -
  367.        ADD SEATS-TO-BE-BOOKED OF BOOK TO
  368.        BOOKED-SEATS OF SESSION
  369.        PERFORM WRITE-SESSION
  370.        PERFORM READ-EMPLOYEE
  371.        ADD 1 TO BOOKINGS OF EMPLOYEE
  372.       *                                 # EASY -
  373.        ADD SEATS-TO-BE-BOOKED OF BOOK TO
  374.        BOOKED-SEATS OF EMPLOYEE
  375.        PERFORM WRITE-EMPLOYEE
  376.        .
  377.       *                                 # EASY P
  378.       *---------------------------------------------------------------- # EASY )
  379.       *---------------------------------------------------------------- # EASY (
  380.       **** CHECK-IF-BOOKED-OUT ***
  381.       *---------------------------------------------------------------- # EASY *
  382.        CHECK-IF-BOOKED-OUT.
  383.        IF BOOKED-SEATS OF JOURNEY = FREE-SEATS OF JOURNEY
  384.        THEN
  385.           PERFORM GENERATE-CUSTOMERS-LIST
  386.        END-IF
  387.        .
  388.       *                                 # EASY P
  389.       *---------------------------------------------------------------- # EASY )
  390.       *---------------------------------------------------------------- # EASY (
  391.       **** READ-BOOKING-ID ***
  392.       *---------------------------------------------------------------- # EASY *
  393.        READ-BOOKING-ID.
  394.        PERFORM BOOKING-SGET
  395.        IF KCRCCC NOT = "000"
  396.        THEN
  397.           MOVE ZERO TO CURRENT-BOOKING-ID,
  398.           PERFORM REPORT-ERROR
  399.        END-IF
  400.        .
  401.       *                                 # EASY P
  402.       *---------------------------------------------------------------- # EASY )
  403.       *---------------------------------------------------------------- # EASY (
  404.       **** WRITE-BOOKING-ID ***
  405.       *---------------------------------------------------------------- # EASY *
  406.        WRITE-BOOKING-ID.
  407.        PERFORM BOOKING-SPUT
  408.        IF KCRCCC NOT = "000"
  409.        THEN
  410.           PERFORM REPORT-ERROR
  411.        END-IF
  412.        .
  413.       *                                 # EASY P
  414.       *---------------------------------------------------------------- # EASY )
  415.       *---------------------------------------------------------------- # EASY (
  416.       **** READ-SESSION ***
  417.       *---------------------------------------------------------------- # EASY *
  418.        READ-SESSION.
  419.        PERFORM SESSION-GTDA
  420.        IF KCRCCC NOT = "000"
  421.        THEN
  422.           MOVE ZEROES TO SESSION,
  423.           PERFORM REPORT-ERROR
  424.        END-IF
  425.        .
  426.       *                                 # EASY P
  427.       *---------------------------------------------------------------- # EASY )
  428.       *---------------------------------------------------------------- # EASY (
  429.       **** WRITE-SESSION ***
  430.       *---------------------------------------------------------------- # EASY *
  431.        WRITE-SESSION.
  432.        PERFORM SESSION-PTDA
  433.        IF KCRCCC NOT = "000"
  434.        THEN
  435.           PERFORM REPORT-ERROR
  436.        END-IF
  437.        .
  438.       *                                 # EASY P
  439.       *---------------------------------------------------------------- # EASY )
  440.       *---------------------------------------------------------------- # EASY (
  441.       **** READ-EMPLOYEE ***
  442.       *---------------------------------------------------------------- # EASY *
  443.        READ-EMPLOYEE.
  444.        PERFORM EMPLOYEE-SGET
  445.        IF KCRCCC NOT = "000"
  446.        THEN
  447.           MOVE ZEROES TO EMPLOYEE,
  448.           PERFORM REPORT-ERROR
  449.        END-IF
  450.        .
  451.       *                                 # EASY P
  452.       *---------------------------------------------------------------- # EASY )
  453.       *---------------------------------------------------------------- # EASY (
  454.       **** WRITE-EMPLOYEE ***
  455.       *---------------------------------------------------------------- # EASY *
  456.        WRITE-EMPLOYEE.
  457.        PERFORM EMPLOYEE-SPUT
  458.        IF KCRCCC NOT = "000"
  459.        THEN
  460.           PERFORM REPORT-ERROR
  461.        END-IF
  462.        .
  463.       *                                 # EASY P
  464.       *---------------------------------------------------------------- # EASY )
  465.       *---------------------------------------------------------------- # EASY (
  466.       **** GENERATE-CUSTOMERS-LIST ***
  467.       *---------------------------------------------------------------- # EASY *
  468.        GENERATE-CUSTOMERS-LIST.
  469.        PERFORM CUSTOMERS-LIST-FPUT
  470.        IF KCRCCC NOT = "000"
  471.        THEN
  472.           PERFORM REPORT-ERROR
  473.        END-IF
  474.        .
  475.       *                                 # EASY P
  476.       *---------------------------------------------------------------- # EASY )
  477.       *---------------------------------------------------------------- # EASY (
  478.       **** PREPARE-OUTPUT ***
  479.       *---------------------------------------------------------------- # EASY *
  480.        PREPARE-OUTPUT.
  481.        MOVE 204 TO KCLM
  482.       *                                 # EASY -
  483.        MOVE "*BOOK" TO KCMF
  484.       *                                 # EASY -
  485.        MOVE SPACES TO KCRN
  486.       *                                 # EASY -
  487.        MOVE "GOONBOOK" TO NEXT-TAC
  488.       *                                 # EASY -
  489.        MOVE "RE" TO PEND-MODE
  490.       *                                 # EASY -
  491.        MOVE KCREPL TO KCDF
  492.        .
  493.       *                                 # EASY P
  494.       *---------------------------------------------------------------- # EASY )
  495.       *---------------------------------------------------------------- # EASY (
  496.       **** INITIALIZE-FORMAT ***
  497.       *---------------------------------------------------------------- # EASY *
  498.        INITIALIZE-FORMAT.
  499.        MOVE SPACES TO WHERE-TO-GO OF BOOK,
  500.        CUSTOMERS-DATA OF BOOK,
  501.        MESSAGE-TEXT OF BOOK
  502.       *                                 # EASY -
  503.        MOVE ZEROES TO JOURNEY-ID OF BOOK,
  504.        SEATS-TO-BE-BOOKED OF BOOK
  505.       *                                 # EASY -
  506.        MOVE "A-0000" TO PLZ OF BOOK
  507.        .
  508.       *                                 # EASY P
  509.       *---------------------------------------------------------------- # EASY )
  510.       *                                 # EASY S
  511.       *---------------------------------------------------------------- # EASY )
  512.       *---------------------------------------------------------------- # EASY (
  513.       **** KDCS Section ***
  514.       *---------------------------------------------------------------- # EASY *
  515.        KDCS SECTION.
  516.       *---------------------------------------------------------------- # EASY (
  517.       **** INIT-OPERATION ***
  518.       *---------------------------------------------------------------- # EASY *
  519.        INIT-OPERATION.
  520.        MOVE INIT TO KCOP
  521.       *                                 # EASY -
  522.        MOVE 284 TO KCLKBPRG
  523.       *                                 # EASY -
  524.        MOVE 1000 TO KCLPAB
  525.        CALL "KDCS" USING KCPAC
  526.        IF KCRCCC NOT = "000"
  527.        THEN
  528.           PERFORM ERROR-MPUT-OPERATION
  529.           PERFORM ERROR-PEND-OPERATION
  530.        END-IF
  531.        .
  532.       *                                 # EASY P
  533.       *---------------------------------------------------------------- # EASY )
  534.       *---------------------------------------------------------------- # EASY (
  535.       **** BOOKING-MGET ***
  536.       *---------------------------------------------------------------- # EASY *
  537.        BOOKING-MGET.
  538.        MOVE MGET TO KCOP
  539.       *                                 # EASY -
  540.        MOVE 204 TO KCLA
  541.       *                                 # EASY -
  542.        MOVE "*BOOK" TO KCMF
  543.        CALL "KDCS" USING KCPAC, BOOK
  544.        .
  545.       *                                 # EASY P
  546.       *---------------------------------------------------------------- # EASY )
  547.       *---------------------------------------------------------------- # EASY (
  548.       **** INTERNAL-MGET ***
  549.       *---------------------------------------------------------------- # EASY *
  550.        INTERNAL-MGET.
  551.        MOVE MGET TO KCOP
  552.       *                                 # EASY -
  553.        MOVE 104 TO KCLA
  554.       *                                 # EASY -
  555.        MOVE SPACES TO KCMF
  556.        CALL "KDCS" USING KCPAC, INTERNAL-MESSAGE
  557.        .
  558.       *                                 # EASY P
  559.       *---------------------------------------------------------------- # EASY )
  560.       *---------------------------------------------------------------- # EASY (
  561.       **** MPUT-OPERATION ***
  562.       *---------------------------------------------------------------- # EASY *
  563.        MPUT-OPERATION.
  564.        MOVE MPUT TO KCOP
  565.       *                                 # EASY -
  566.        MOVE "NE" TO KCOM
  567.        CALL "KDCS" USING KCPAC, BOOK
  568.        IF KCRCCC > "000"
  569.        THEN
  570.           PERFORM ERROR-PEND-OPERATION
  571.        END-IF
  572.        .
  573.       *                                 # EASY P
  574.       *---------------------------------------------------------------- # EASY )
  575.       *---------------------------------------------------------------- # EASY (
  576.       **** PEND-OPERATION ***
  577.       *---------------------------------------------------------------- # EASY *
  578.        PEND-OPERATION.
  579.        MOVE LOW-VALUES TO KCPAC
  580.       *                                 # EASY -
  581.        MOVE PEND TO KCOP
  582.       *                                 # EASY -
  583.        MOVE PEND-MODE TO KCOM
  584.       *                                 # EASY -
  585.        MOVE NEXT-TAC TO KCRN
  586.        CALL "KDCS" USING KCPAC
  587.        .
  588.       *                                 # EASY P
  589.       *---------------------------------------------------------------- # EASY )
  590.       *---------------------------------------------------------------- # EASY (
  591.       **** ERROR-PEND-OPERATION ***
  592.       *---------------------------------------------------------------- # EASY *
  593.        ERROR-PEND-OPERATION.
  594.        MOVE PEND TO KCOP
  595.       *                                 # EASY -
  596.        MOVE "ER" TO KCOM
  597.        CALL "KDCS" USING KCPAC
  598.        .
  599.       *                                 # EASY P
  600.       *---------------------------------------------------------------- # EASY )
  601.       *---------------------------------------------------------------- # EASY (
  602.       **** ERROR-MPUT-OPERATION ***
  603.       *---------------------------------------------------------------- # EASY *
  604.        ERROR-MPUT-OPERATION.
  605.        MOVE KCRCCC TO RET-CODE
  606.       *                                 # EASY -
  607.        MOVE " AT " TO OCCURRED-AT
  608.       *                                 # EASY -
  609.        MOVE KCOP TO OP-CODE
  610.       *                                 # EASY -
  611.        MOVE MPUT TO KCOP
  612.       *                                 # EASY -
  613.        MOVE "NE" TO KCOM,
  614.        MOVE  20  TO KCLM
  615.       *                                 # EASY -
  616.        MOVE SPACES TO KCMF, KCRN
  617.       *                                 # EASY -
  618.        MOVE KCALARM TO KCDF
  619.        CALL "KDCS" USING KCPAC, ERROR-LINE
  620.        .
  621.       *                                 # EASY P
  622.       *---------------------------------------------------------------- # EASY )
  623.       *---------------------------------------------------------------- # EASY (
  624.       **** BOOKING-SGET ***
  625.       *---------------------------------------------------------------- # EASY *
  626.        BOOKING-SGET.
  627.        MOVE SGET TO KCOP
  628.       *                                 # EASY -
  629.        MOVE "GB" TO KCOM
  630.       *                                 # EASY -
  631.        MOVE 8 TO KCLA
  632.       *                                 # EASY -
  633.        MOVE "AKTBUNR" TO KCRN
  634.        CALL "KDCS" USING KCPAC, CURRENT-BOOKING-ID
  635.        .
  636.       *                                 # EASY P
  637.       *---------------------------------------------------------------- # EASY )
  638.       *---------------------------------------------------------------- # EASY (
  639.       **** BOOKING-SPUT ***
  640.       *---------------------------------------------------------------- # EASY *
  641.        BOOKING-SPUT.
  642.        MOVE SPUT TO KCOP
  643.       *                                 # EASY -
  644.        MOVE "GB" TO KCOM
  645.       *                                 # EASY -
  646.        MOVE 8 TO KCLA
  647.       *                                 # EASY -
  648.        MOVE "AKTBUNR" TO KCRN
  649.        CALL "KDCS" USING KCPAC, CURRENT-BOOKING-ID
  650.        .
  651.       *                                 # EASY P
  652.       *---------------------------------------------------------------- # EASY )
  653.       *---------------------------------------------------------------- # EASY (
  654.       **** SESSION-GTDA ***
  655.       *---------------------------------------------------------------- # EASY *
  656.        SESSION-GTDA.
  657.        MOVE GTDA TO KCOP
  658.       *                                 # EASY -
  659.        MOVE 22 TO KCLA
  660.       *                                 # EASY -
  661.        MOVE "SESSION" TO KCRN
  662.        CALL "KDCS" USING KCPAC, SESSION
  663.        .
  664.       *                                 # EASY P
  665.       *---------------------------------------------------------------- # EASY )
  666.       *---------------------------------------------------------------- # EASY (
  667.       **** SESSION-PTDA ***
  668.       *---------------------------------------------------------------- # EASY *
  669.        SESSION-PTDA.
  670.        MOVE PTDA TO KCOP
  671.       *                                 # EASY -
  672.        MOVE 22 TO KCLA
  673.       *                                 # EASY -
  674.        MOVE "SESSION" TO KCRN
  675.        CALL "KDCS" USING KCPAC, SESSION
  676.        .
  677.       *                                 # EASY P
  678.       *---------------------------------------------------------------- # EASY )
  679.       *---------------------------------------------------------------- # EASY (
  680.       **** EMPLOYEE-SGET ***
  681.       *---------------------------------------------------------------- # EASY *
  682.        EMPLOYEE-SGET.
  683.        MOVE LOW-VALUES TO KCPAC
  684.       *                                 # EASY -
  685.        MOVE SGET TO KCOP
  686.       *                                 # EASY -
  687.        MOVE "US" TO KCOM
  688.       *                                 # EASY -
  689.        MOVE 18 TO KCLA
  690.       *                                 # EASY -
  691.        MOVE "EMPLSTAT" TO KCRN
  692.       *                                 # EASY -
  693.        MOVE SPACES TO KCUS
  694.        CALL "KDCS" USING KCPAC, EMPLOYEE
  695.        .
  696.       *                                 # EASY P
  697.       *---------------------------------------------------------------- # EASY )
  698.       *---------------------------------------------------------------- # EASY (
  699.       **** EMPLOYEE-SPUT ***
  700.       *---------------------------------------------------------------- # EASY *
  701.        EMPLOYEE-SPUT.
  702.        MOVE LOW-VALUES TO KCPAC
  703.       *                                 # EASY -
  704.        MOVE SPUT TO KCOP
  705.       *                                 # EASY -
  706.        MOVE "US" TO KCOM
  707.       *                                 # EASY -
  708.        MOVE 18 TO KCLA
  709.       *                                 # EASY -
  710.        MOVE "EMPLSTAT" TO KCRN
  711.       *                                 # EASY -
  712.        MOVE SPACES TO KCUS
  713.        CALL "KDCS" USING KCPAC, EMPLOYEE
  714.        .
  715.       *                                 # EASY P
  716.       *---------------------------------------------------------------- # EASY )
  717.       *---------------------------------------------------------------- # EASY (
  718.       **** CUSTOMERS-LIST-FPUT ***
  719.       *---------------------------------------------------------------- # EASY *
  720.        CUSTOMERS-LIST-FPUT.
  721.        MOVE FPUT TO KCOP
  722.       *                                 # EASY -
  723.        MOVE "NE" TO KCOM
  724.       *                                 # EASY -
  725.        MOVE 4 TO KCLM
  726.       *                                 # EASY -
  727.        MOVE "PRINT" TO KCRN
  728.        CALL "KDCS" USING KCPAC, JOURNEY-ID OF JOURNEY
  729.        .
  730.       *                                 # EASY P
  731.       *---------------------------------------------------------------- # EASY )
  732.       *---------------------------------------------------------------- # EASY (
  733.       **** REPORT-ERROR ***
  734.       *---------------------------------------------------------------- # EASY *
  735.        REPORT-ERROR.
  736.        MOVE KCRCCC TO RET-CODE OF ERROR-LINE
  737.       *                                 # EASY -
  738.        MOVE " AT " TO OCCURRED-AT OF ERROR-LINE
  739.       *                                 # EASY -
  740.        MOVE KCOP TO OP-CODE OF ERROR-LINE
  741.       *                                 # EASY -
  742.        MOVE LPUT TO KCOP
  743.       *                                 # EASY -
  744.        MOVE 12 TO KCLA
  745.        CALL "KDCS" USING KCPAC, ERROR-LINE
  746.        .
  747.       *                                 # EASY P
  748.       *---------------------------------------------------------------- # EASY )
  749.       *                                 # EASY S
  750.       *---------------------------------------------------------------- # EASY )
  751.       *---------------------------------------------------------------- # EASY )
  752.        END PROGRAM TOUR020.
  753.       *---------------------------------------------------------------- # EASY )
  754.